Autonomous Quadrotor Vision-Based Tracking & Landing
Project information
- Category: Robotics
- Focus: Quadrotor Control Computer Vision Trajectory Tracking
- Tech Stack: MATLAB/Simulink CoppeliaSim Image Processing Toolbox Remote API
- Project date: January 2026
- Official Repository
~100%
Simulated Landing Success Rate
< 0.5 m
Position Tracking Error
4
Trajectories Validated
Overview
Full reimplementation of Falanga et al. (2017), a complete autonomy pipeline for vision-based quadrotor landing on a moving platform. The system addresses the three core challenges of the problem: detecting a visual tag on the target using only onboard camera images, estimating its position and velocity via a Kalman filter with constant-velocity motion model $$\hat{\mathbf{x}}_k = \hat{\mathbf{x}}_k^- + K_k\left(z_k - H\hat{\mathbf{x}}_k^-\right)$$ and tracking it through a cascaded PID controller while executing a smooth landing maneuver.
The architecture is structured as a four-state finite state machine (TAKEOFF, SEARCH, FOLLOW, LANDING) running at 20 Hz in MATLAB/Simulink, co-simulated with CoppeliaSim for real-time camera rendering. A predictive feedforward ($\mathbf{p}_{\text{target}} = \hat{\mathbf{p}} + \hat{\mathbf{v}}\cdot\tau$) compensates for filter lag during tracking. Validated across stationary, linear, circular, and figure-8 platform trajectories, the system achieves position tracking errors below 0.5 m and a ~100% simulated landing success rate in all tested scenarios.
Key Elements
Autonomous FSM
Four-state mission logic: TAKEOFF, SEARCH, FOLLOW, LANDING, with hysteresis-based transitions for robust mode switching.
Vision Pipeline
Tag detection via adaptive thresholding + RANSAC, followed by PnP pose recovery. Adaptive FOV expands from 90° to 135° during final descent.
Kalman + Attitude Gating
Constant-velocity KF for platform state estimation. Measurement updates are gated at $|\phi|, |\theta| > 10^\circ$ to suppress noisy detections during aggressive maneuvers.
Cascaded PID Control
Outer position loop computes desired thrust and tilt angles; inner attitude loop tracks them via PID with inertia feedforward. Anti-windup on all axes.
Contacts
Get in touch with me!